Best Coffee Shop in Surry Hills

Use Case:

Find the best coffee shops in and around 2 Holt Street Surry Hills

Technology Stack:

  • Big Data Engineering
  • Data Science
  • Advanced Analytics
  • Geo-spatial calulations
  • Data Visualization

Solution Architecture

  • Infra-structure:
  • --> Docker

  • Programming languges user:

  • --> R
  • --> Python

  • Presentation Layer / Development Env:

  • --> Jupyter Notebook

How do we collect data?

We (DnA team) go for coffee everyday in the morning to the cafe short listed. We take photo snap at the cafe. After reaching office, we build a survey question per iteration and circulate to the people who had coffee at that day. The data is captured in https://freeonlinesurveys.com/ and we get it when we do data analytics.

Out[5]:
Coffee_Club Iteration_1 Iteration_1 Iteration_2 Iteration_2 Iteration_1->Iteration_2 Top 10 coffee shops selected from First_Iteration out of 20 Iteration_3 Iteration_3 Iteration_2->Iteration_3 Top 5 coffee shops selected from First_Iteration out of 10 Know_Your_Coffee Know_Your_Coffee Iteration_3->Know_Your_Coffee Top 1 coffee shop selected from Third_Iteration

Who are we ?

Coffee Shops that we visited

In [2]:
import matplotlib.image as mpimg
plt.figure(figsize=(100,100))
img=mpimg.imread('data/maps_coffeeshops.png')

imgplot = plt.imshow(img)
Out[57]:

Parameter analysisd

Iteration_1 Iteration_2 Iteration_3
0 Taste_Quantity Taste_Quantity Taste_consistency
1 Price Price service_speed_consistency
2 Service_Speed Service_Speed food_taste_consistency
3 Atmosphere_Friendliness Eating_option Free_coffee
4 Walking_Distance Loyalty_cards customer_service_consistency
5 hospitality
6 Place_4_Hangout

Iteration 1 - Results

In [182]:
df_plot.sort_values("Score")\
       .iloc[:,:6]\
       .plot(x='shop_address',kind='bar', stacked=True, figsize=(12,6), rot=65)
plt
Out[182]:
<module 'matplotlib.pyplot' from '/opt/conda/lib/python3.6/site-packages/matplotlib/pyplot.py'>
In [183]:
plt.figure(figsize=(20,10))
parallel_coordinates(df_plot[['shop_name', 'Taste_Quantity', 'Price', 'Service_Speed','Atmosphere_Friendliness', 'Walking_Distance','Walking_Distance']],
                     "shop_name"
                     )

plt.show()

Iteration 2 - Results

Iteration Final - Results